# -*- coding: utf-8 -*-
"""
/***************************************************************************
 ModelePluieDebit
                                 A QGIS plugin
 Morph'Eau : Outil de modélisation pluie-débit basé sur les modèles à réservoirs GR4J-GR2M de l'IRSTEA.

L'outil se décompose en plusieurs modules :
- définition de la couche des points de calcul,
- intégration de données d'entrée et prétraitement sur les points de calcul,
- construction de la table des paramètres du modèle aux points de calcul,
- lancement de simulations à partir d'une table des paramètres définis en chaque point de calcul,
- calcul de débits statistiques sur les débits simulés.
                              -------------------
        begin                : 2013-03-19
        copyright            : (c) 2014 by Alain Gauthier - Eaucéa
        email                : alain.gauthier@eaucea.fr
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""
import os
# Import the PyQt and QGIS libraries
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
# Initialize Qt resources from file resources.py
import resources_rc
# Import the code for the dialog
from modelepluiedebitdialog import ModelePluieDebitDialog


class ModelePluieDebit:

    def __init__(self, iface):
        # Save reference to the QGIS interface
        self.iface = iface
        # initialize plugin directory
        pluginPath = os.path.dirname(__file__)
        self.plugin_dir = pluginPath
        # initialize locale
        localeName = QLocale.system().name()

        if QFileInfo(pluginPath).exists():
            self.localePath = pluginPath + "/i18n/modelepluiedebit_" + localeName + ".qm"

        if QFileInfo(self.localePath).exists():
            self.translator = QTranslator()
            self.translator.load(self.localePath)
            if qVersion() > '4.3.3':
                QCoreApplication.installTranslator(self.translator)

        # Create the dialog (after translation) and keep reference
        self.dlg = ModelePluieDebitDialog()

    def initGui(self):
        # Create action that will start plugin configuration
        self.action = QAction(QIcon(":/plugins/modelepluiedebit/morpho.png"),
                              "Morph'Eau",
                              self.iface.mainWindow())
        # connect the action to the run method
        self.action.triggered.connect(self.run)

        # Add toolbar button and menu item
        self.iface.addToolBarIcon(self.action)
        self.iface.addPluginToMenu(u"&Morph'Eau", self.action)

    def unload(self):
        # Remove the plugin menu item and icon
        self.iface.removePluginMenu(u"&Morph'Eau", self.action)
        self.iface.removeToolBarIcon(self.action)

    # run method that performs all the real work
    def run(self):
        # show the dialog
        self.dlg.show()
        # initialisation des paramètres
        self.dlg.initialiser()
        # boucle des événements windows
        result = self.dlg.exec_()
        # finalisation : en fin d'application
        self.dlg.finaliser()